package com.soecode.lyf.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.soecode.lyf.entity.User;
import com.soecode.lyf.entity.UserInfo;

public interface UserDao {
	/**
	 * 用户注册
	 * 
	 */
	int Register(@Param("uuid") String uuid,@Param("username") String username, @Param("password") String password, @Param("nickname") String nickname, @Param("imgpath") String imgptah, @Param("birthday") String birthday, @Param("token") String token, @Param("exp") String exp);
	
	/**
	 * QQ登录信息入库
	 * @param user
	 * @return
	 */
	int QQLogin(UserInfo user);
	/**
	 * 用户注册之前查询是否已经注册
	 * 
	 */
	User SelectUser(String username);
	/**
	 *根据userid查询用户信息
	 * 
	 */
	UserInfo getUserInfo(String userid);
	/**
	 *登录
	 */
	UserInfo login(@Param("username") String username, @Param("password") String password);
	/**
	 *延长token有效期
	 */
	int updateTokenExp(@Param("username") String username, @Param("password") String password, @Param("exp") String exp, @Param("token") String token);
	
	/**
	 * 签到
	 * @param data
	 * @param userid
	 * @return
	 */
	int insertSignin(@Param("date") String date, @Param("userid") String userid);
	
	/**
	 * 查询今天是否签到
	 * @param date
	 * @param userid
	 * @return
	 */
	Map selectIsSign(@Param("userid") String userid, @Param("date") String date);
	
	/**
	 * 查询用户签到列表
	 * @param userid
	 * @return
	 */
	List<User> selectSignDays(String userid);
}
